package com.qiudaozhang.jblog.article.service;

import com.github.pagehelper.PageInfo;
import com.qiudaozhang.jblog.model.Article;
import com.qiudaozhang.jblog.model.ArticleInfo;
public interface ArticleService {

    Article getById(Integer id);

    /**
     * 获取文章所有的细节信息
     * @param id
     * @return
     */
    ArticleInfo getDetail(Integer id);

    /**
     * 保存文章兵返回主键
     * @param article
     * @return
     */
    Integer save(ArticleInfo article);

    /**
     * 更新文章
     * @param article
     * @return
     */
    Integer update(Article article);

    /**
     * 删除文章
     * @param id
     */
    void delete(Integer id);


    /**
     * 无条件分页查询
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<Article> queryPage(int pageNum, int pageSize);

    /**
     * 无条件分页查询，根据时间降序
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<ArticleInfo> queryPageOrderByUpdateTimeDesc(int pageNum, int pageSize);

    /**
     * 将指定分类id的文章的分类设置为null
     * @param categoryId
     */
    void updateCategoryNull(Integer categoryId);

    /**
     * 更新文章(包括分类信息，标签)
     * @param articleInfo
     */
    void updateDetail(ArticleInfo articleInfo);

    /**
     * 分页查询搜索文章
     * @param i
     * @param i1
     * @return
     */
    PageInfo<ArticleInfo> queryPageOrderBySearch(String search, int pageNum, int pageSize);
}
